Different types of memory technology may be used in a data processing system to store different types of data to optimize the performance, cost, or other characteristics of the system. For example, data that needs to be retained when a system is powered off may be stored in a nonvolatile memory such as flash memory. In contrast, data that needs to be written to and read out from memory relatively quickly, but does not need to be retained when a system is powered off, may be stored in a volatile memory such a random access memory (RAM) that provides fast access times. Also, large amounts of data may be stored in memory that provides a high storage capacity-to-cost ratio.
In some systems, more than one type of memory may be used in a single system component. For example, mobile devices (e.g., phones, personal data assistants, personal entertainment devices) may employ flash memory (e.g., NOR and/or NAND flash) and RAM. Since these different types of memory may have significant differences in their maximum input/output (I/O) transfer rates, optimum interface layout, or other characteristics, the memory controller in such a device may have a separate dedicated interface for accessing each type of memory. Consequently, such a memory controller may have a relatively large number of I/O pins which increases the cost and size of the memory controller.
In accordance with common practice the various features illustrated in the drawings may not be drawn to scale. Accordingly, the dimensions of the various features may be arbitrarily expanded or reduced for clarity. In addition, some of the drawings may be simplified for clarity. Thus, the drawings may not depict all of the components of a given apparatus or method. Finally, like reference numerals may be used to denote like features throughout the specification and figures.